package com.dxl.system.service;

import com.dxl.system.model.Series;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dxl.base.Result;
import java.util.List;

/**
 * <b> 系列服务接口
 * </b><br><br><i>Description</i> :
 * <br>Date: 2019-09-25    <br>Author : dxl
 */
public interface SeriesService extends IService<Series>   {

    /**
     * <b> 插入系列
     * </b><br><br><i>Description</i> : 不能为空：系列名称-series_name ；不能重复：系列名称-series_name  
     * @param series Series
     * @return com.dxl.base.Result Series
     * <br><br>Date: 2019-09-25    <br>Author : dxl
     */
    public Result addOne(Series series);

    /**
     * <b> 删除系列
     * </b><br><br><i>Description</i> : 
     * @param seriesIds List: Integer
     * @return com.dxl.base.Result int
     * <br><br>Date: 2019-09-25    <br>Author : dxl
     */
    public Result delByIds(List<Integer> seriesIds);

    /**
     * <b> 编辑系列
     * </b><br><br><i>Description</i> : 不能重复：系列名称-series_name 
     * @param series Series
     * @return com.dxl.base.Result Series
     * <br><br>Date: 2019-09-25    <br>Author : dxl
     */
    public Result editOne(Series series);

    /**
     * <b> ID查询系列
     * </b><br><br><i>Description</i> : 
     * @param seriesId Integer
     * @return com.dxl.base.Result: Series
     * <br><br>Date: 2019-09-25    <br>Author : dxl
     */
    public Result getById(Integer seriesId);

    /**
     * <b> 条件查询系列
     * </b><br><br><i>Description</i> : 
     * @param series Series
     * @return com.dxl.base.Result List: Series
     * <br><br>Date: 2019-09-25    <br>Author : dxl
     */
    public Result getList(Series series);

    /**
     * <b> 分页条件查询系列
     * </b><br><br><i>Description</i> : 
     * @param series Series, currentPage -Integer, pageSize -Integer
     * @return com.dxl.base.Result List: Series
     * <br><br>Date: 2019-09-25     <br>Author : dxl
     */
    public Result getListByPage(Series series, Integer currentPage, Integer pageSize);

    /**
     * <b>  模糊查询系列
     * </b><br><br><i>Description</i> : 模糊查询；模糊字段(模式：单字段)：全匹配：series_name-系列名称 
     * @param series Series
     * @return com.dxl.base.Result List: Series
     * <br><br>Date: 2019-09-25    <br>Author : dxl
     */
    public Result getLikeSeries(Series series);

    /**
     * <b> 分页模糊查询系列
     * </b><br><br><i>Description</i> : 模糊查询；模糊字段(模式：单字段)：全匹配：series_name-系列名称 
     * @param series Series, currentPage -Integer, pageSize -Integer
     * @return com.dxl.base.Result List: Series
     * <br><br>Date: 2019-09-25     <br>Author : dxl
     */
    public Result getLikeSeriesByPage(Series series, Integer currentPage, Integer pageSize);

    /**
     * <b> 系列能否新增
     * </b><br><br><i>Description</i> : 不能为空：系列名称-series_name ；不能重复：系列名称-series_name  
     * @param series Series
     * @return com.dxl.base.Result boolean
     * <br><br>Date: 2019-09-25     <br>Author : dxl
     */
    public Result isSeriesAddable(Series series);

    /**
     * <b> 系列能否编辑
     * </b><br><br><i>Description</i> : 不能重复：系列名称-series_name 
     * @param series Series
     * @return com.dxl.base.Result boolean
     * <br><br>Date: 2019-09-25     <br>Author : dxl
     */
    public Result isSeriesEditable(Series series);

    /**
     * <b> 分页条件查询系列中文件
     * </b><br><br><i>Description</i> :
     * @param series Series, currentPage -Integer
     * @return com.dxl.base.Result List: Series
     * <br><br>Date: 2019-09-25     <br>Author : dxl
     */
    public Result getAllNoteInSeriesByNameByPage(Series series, Integer currentPage, Integer pageSize);
}
